package com.yfp.operation.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yfp.common.core.annotation.Excel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 
 * @version 1.0
 * @date 2024-12-04 14:40
 */
@Data
public class ComboSaleDataVO {

    /**
     * 设备名称
     */
    @Schema(description = "设备名称")
    @Excel(name = "设备名称", needMerge = true, sort = 2)
    private String machineName;

    /**
     * 设备编号
     */
    @Schema(description = "设备编号")
    @Excel(name = "设备编号", needMerge = true, sort = 1)
    private String machineId;

    /**
     * 点位名称
     */
    @Schema(description = "点位名称")
    @Excel(name = "点位名称", needMerge = true, sort = 3)
    private String positionName;

    /**
     * 套餐种类
     */
    @Schema(description = "套餐种类")
    @Excel(name = "套餐", needMerge = true, sort = 4)
    private Integer comboKind;

    /**
     * 投放份数
     */
    @Schema(description = "投放份数")
    @Excel(name = "投放份数", needMerge = true, sort = 5)
    private Integer grantNum;

    /**
     * 报损数
     */
    @Schema(description = "报损数")
    @Excel(name = "报损数", needMerge = true, sort = 9)
    private Integer lossNum;

    /**
     * 已售份数
     */
    @Schema(description = "已售份数")
    @Excel(name = "已售份数", needMerge = true, sort = 6)
    private Integer saleNum;

    /**
     * 小程序已售份数
     */
    @Schema(description = "小程序已售份数")
    @Excel(name = "小程序已售份数", needMerge = true, sort = 7)
    private Integer appSaleNum;

    /**
     * 设备已售份数
     */
    @Schema(description = "设备已售份数")
    @Excel(name = "设备已售份数", needMerge = true, sort = 8)
    private Integer machineSaleNum;

    /**
     * 已售金额
     */
    @Schema(description = "已售金额")
    @Excel(name = "已售总金额", needMerge = true, sort = 10)
    private BigDecimal saleMoney;

    /**
     * 售卖率
     */
    @Schema(description = "售卖率")
    @Excel(name = "餐品售卖率", needMerge = true, sort = 11, scale = 2, suffix = "%")
    private BigDecimal sellRate;

    /**
     * 退款数
     */
    @Schema(description = "退款数")
    @Excel(name = "退款数", needMerge = true, sort = 12)
    private Integer refundNum;

    /**
     * 未售数
     */
    @Schema(description = "未售数")
    @Excel(name = "餐品未售数", needMerge = true, sort = 13)
    private Integer notSaleNum;

    /**
     * 未取数
     */
    @Schema(description = "未取数")
    @Excel(name = "未取份数", needMerge = true, sort = 14)
    private Integer notTakeNum;

    /**
     * 日均单价
     */
    @Schema(description = "日均单价")
    @Excel(name = "日均单价", needMerge = true, sort = 15)
    private BigDecimal unitPrice;

    /**
     * 报损率
     */
    @Schema(description = "报损率")
    @Excel(name = "报损率", needMerge = true, sort = 16, scale = 2, suffix = "%")
    private BigDecimal lossRate;

    /**
     * 套餐id
     */
    @Schema(description = "套餐id")
    private String comboId;

    /**
     * 套餐名称
     */
    @Schema(description = "套餐名称")
    private String comboName;

    /**
     * 餐品售卖率
     */
    @Schema(description = "餐品售卖率")
    private BigDecimal comboSaleRate;

    /**
     * 日均销量
     */
    @Schema(description = "日均销量")
    private BigDecimal averageSaleMoney;

    /**
     * 日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "日期")
    private Date orderTime;

    /**
     * 投放日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "投放日期日期")
    private Date grantTime;

    /**
     * 报损日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Schema(description = "报损日期")
    private Date lossTime;

}
